/*
题目: 硬币划分
有1分，2分，5分，10分四种硬币，每种硬币数量无限，给定n分钱(n <= 100000)，有多少中组合可以组成n分钱？
*/
public class CodeDivision {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int mod = 1000000007;
        int[] coins = new int[] {1, 2, 5, 10};  // 硬币数组

        // 前 i 种纸币 组成 n 分钱的种数
        int[][] dp = new int[5][n + 1];
        // 初始化, 有硬币也可以不用, 自成一组
        for (int i = 0; i <= 4; i++)
            dp[i][0] = 1;

        for (int i = 1; i <= 4; i ++) {
            for (int j = 1; j <= n; j ++) {
                if (j >= coins[i - 1])
                    //          不用纸币 i    +    用纸币 i
                    dp[i][j] = dp[i - 1][j] + dp[i][j - coins[i - 1]]  % mod;
                else
                    dp[i][j] = dp[i - 1][j] % mod;
            }
        }

        System.out.println(dp[4][n] % mod);
    }
}
